The present disclosure relates to computer storage systems, and more specifically, to storage with point-in-time copy with chain cloning.
In the field of computer storage systems, there is increasing demand for what have come to be described as “advanced functions.” Such functions go beyond the simple Input/Output (I/O) functions of conventional storage controller systems. Advanced functions depend on the control of metadata used to retain state data about the real or “user” data stored in the system. The manipulations available using advanced functions enable various actions to be applied quickly to virtual images of data, while leaving the real data available for use by user applications.
One such advanced function is point-in-time copy. One example of point-in-time copy is IBM® FlashCopy®. IBM, and FlashCopy are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide.
Point-in-time copy is a feature supported on various storage devices that allows nearly instantaneous point-in-time copies of entire logical volumes or data sets to be made. The point-in-time function enables one to make full volume copies of data, with the copies immediately available for read or write access. The copy may be used with standard backup tools that are available in a computing environment to create backup copies on tape.
“Snapshot” is a common industry term denoting the ability to record the state of a storage device at any given moment and preserve that snapshot as a guide for restoring the storage device in the event that it fails. A snapshot primarily creates a point-in-time copy of the data. Typically, snapshot copy is done instantly and made available for use by other applications such as data protection, data analysis, and reporting, and data replication applications. The original copy of the data continues to be available to the applications without interruption, while the snapshot copy is used to perform other functions on the data. A snapshot may be a point-in-time copy that is dependent on the primary disk.
A snapshot may be accomplished using various implementations including a copy-on-write procedure or a redirect-on-write procedure. If there is a multi-tiered environment, then copy-on-write is the solution that provides the best stability with respect to the tier used by a particular volume. In a copy-on-write procedure, currently existing data in a region on the primary disk is written to the backup disk when a write is being made to the region on the primary disk. Thus, the backup disk will contain data that has been overwritten on the primary disk, as opposed to a complete copy of the primary disk. This type of backup copy typically results in a thinly provisioned volume, which may reduce storage.
In order to minimize the production volume Input/Output Operations Per Second (IOPs), solutions use a ‘cascading’ approach to allow multiple different point-in-time copies to be taken of a single production volume without leading to an increasing in IOPs to the physical storage.
A series of snapshot copies may be cascaded together to represent the primary disk at various times. However, the snapshot copies typically remain dependent on the primary disk to reassemble a complete copy of the primary disk. Therefore, a snapshot is a point-in-time copy where the target only holds the changed data necessary to present the point-in-time copy of the source. Data is only copied to the target disk if it is changed on the source. The target disk is generally dependent on some of the data on the source disk in order to present the point-in-time copy.
This disclosure is concerned with the problem of cloning a volume and all of its snapshots. This will be required if the user wants to move a volume and all of its snapshots to another storage pool or if they want a new copy of a volume and its snapshots. The aim is to instantly clone a volume, its snapshots (maintaining any space-efficiency), and all the metadata required to maintain these snapshots. Because none of these operations can be performed automatically but may appear to have been done automatically, the images need to be maintained as the copying process progresses while also processing I/O to the original volume and its snapshots and to the clone and its snapshots.